import { createI18n } from 'vue-i18n'
import zh from './zh'
import en from './en'
import elementEnLocale from 'element-plus/lib/locale/lang/en'; // element-ui lang
import elementZhLocale from 'element-plus/lib/locale/lang/zh-cn';

// 国际化语言资源
const messages = {
    // 英文
    en: {
        ...en,
        ...elementEnLocale
    },
    // 中文
    zh: {
        ...zh,
        ...elementZhLocale
    }
}
/**
 * 获取
 * @returns {string}
 */
function getLocal() {
    // 如果缓存中存在，则直接返回

    const myLocale = localStorage.getItem('locale')
    if (myLocale) {
        return myLocale
    }
    // 否则读取当前网页语言
    const localName = navigator.language.indexOf('zh') !== -1 ? 'zh' : 'en'
    // 设置缓存
    localStorage.setItem('locale', localName)
    return localName
}

// 创建i18n实例
export const i18n = createI18n({
    legacy: false,
    globalInjection: true,
    locale: getLocal(),
    messages
})